public class Main {
    //测试功能的实现
    public static void main(String[] args) {

        //第一关：顺序线性表创建（课程信息初始化）
        MyArrayList list=new MyArrayList();
        //从couse.txt读取文件已有课程信息
        System.out.println("从couse.txt读取文件已有课程信息:");
        list.insertFromFile();
        list.printList_seq();
        System.out.println();

        //第二关：顺序线性表插入（课程信息插入）
        //(2)p之前和p之后的插入
        MyArrayList.node n=new MyArrayList.node("被插入的新的课",
                3,40,0,"BT",2);
        System.out.println("在下标为3的课之前插入新的课，在下标为5的课之后插入新的课 ：");
        list.insertPre_seq(3,n);
        list.insertPost_seq(5,n);
        list.printList_seq();
        //（3）findPos函数
        System.out.println("返回“数据结构与算法 5 56 24 BT 3”的下标："+
                list.findPos(new MyArrayList.node("数据结构与算法", 5 ,56 ,
                        24 ,"BT", 3)));
        System.out.println();
        //（5）writeToFile函数
        list.writeToFile();

        //第四关：顺序线性表之顺序查找
        System.out.println("找到名字为“数据结构与算法”的下标： "+list.findName("数据结构与算法")+"\n");
        System.out.println("找到下标为7的课程："+list.findPos(7)+"\n");

        //第五关：顺序线性表删除
        System.out.println("删除下标为7的课程:");
        list.delpos(7);
        list.printList_seq();

        System.out.println("删除名字为“数据结构与算法”的课程:");
        list.delName("数据结构与算法");
        list.printList_seq();

        //第六关：顺序线性表
        //（1）能统计每个学期所开课程的学分、学时
        list.sumAll();
        //（2）能统计每个类别（例如必修、选修等）课程的学时（包括讲授学时和实践学时）和学分，
        // 并统计学分占比
        list.cutHour();

        //第三关：销毁顺序线性表
        System.out.println("销毁顺序线性表:");
        list.clear_seq();
        list.printList_seq();

    }
}